#ifndef COMMON_H
#define COMMON_H

#include <iostream>
#include <cstdlib>
using namespace std;

class Exception
{
    char mStr[256];
public:
    Exception( const char* pStr = 0 )
    {
        setMessage(pStr);
    }

    void setMessage( const char* pStr = 0 )
    {
        if( pStr )
        {
            int i=0;
            for(i=0; i<255 && pStr[i]!=0;i++)
            {
                mStr[i] = pStr[i];
            }
            mStr[i] = 0;
        }
    }

    char* toString()  { return &mStr[0]; }
    char* what()  { return &mStr[0]; }
};

#define ASSERT(x) \
    if( !(x) ) \
    { \
    cerr<<"Assertion failed in file:"<<__FILE__<<" Line:"<<__LINE__<<" : "<<#x<<endl; \
    abort(); \
    }

#endif // COMMON_H
